#ifndef __CINETIC__TRANSFORM_COMPONENT_H__
#define __CINETIC__TRANSFORM_COMPONENT_H__
#pragma once

#include "Component.h"
#include "Delegate.h"
#include "Ogre.h"

namespace Cinetic
{
	class TransformComponent : public Component
	{
	public:
		TransformComponent( std::shared_ptr<GameObject> go );

    public:
        typedef Delegate<void ()>                   TransformChangedDelegate;
        typedef TransformChangedDelegate::Event     TransformChangedEvent;
        TransformChangedEvent                       TransformChanged;

	private:
		Ogre::Vector3		m_position;
		Ogre::Quaternion	m_rotation;
		Ogre::Vector3		m_scale;
	};
}

#endif